import java.util.Scanner;

//算法题：前缀数组和；
//输入：3，2
//     1,2,4
//     1,2
//     2,3
//输出：3
//     6
//解题思路：利用前缀数组的设定完成结果的正确输出,可以大大的减少时间复杂度；
public class Nm2 {
    public static void main(String[] args){
        //1，进行相关变量的输入：
        Scanner scanner=new Scanner(System.in);
        int n=scanner.nextInt();//n:表示输入元素的个数；
        int p=scanner.nextInt();//p:表示输入组数的个数；
        int[] arr=new int[n+1];//arr要进行输入数组的设定；
        int[] dp=new int[n+1];//dp:后缀数组的设置；
        //2.进行数组的输入；
        for(int i=1;i<=n;i++){
            arr[i]=scanner.nextInt();
        }
        //3.后缀数组的设定；
        for(int i=1;i<=n;i++){
            dp[i]=dp[i-1]+arr[i];
        }
        //4.进行前缀数组的使用；
        while(p>0){
            int l=scanner.nextInt();//要计算数组和的起始；
            int r=scanner.nextInt();//要计算数组和的尾巴；
            System.out.println(dp[r]-dp[l-1]);
            //利用前缀数组的进行数组加和的计算；
        }
    }

}
